import React from 'react';
export type CardVariant = 'glassmorphic-light' | 'glassmorphic-dark' | 'solid-light' | 'solid-dark';
interface CardProps {
variant?: CardVariant;
children: React.ReactNode;
className?: string;
}
export function Card({ variant = 'glassmorphic-dark', children, className = '' }: CardProps) {
const baseStyles = "rounded-[12px] transition-all duration-200";
const variantStyles = {
'glassmorphic-light': "backdrop-blur-[14.374px] bg-[rgba(255,255,255,0.06)]",
'glassmorphic-dark': "backdrop-blur-[14.374px] bg-[rgba(6,6,6,0.03)]",
'solid-light': "bg-[#faf1e9]",
'solid-dark': "bg-[#2c2c2c]",
};
return (
{children}
);
}
interface FeatureCardProps {
badge: string;
description: string;
className?: string;
}
export function FeatureCard({ badge, description, className = '' }: FeatureCardProps) {
return (
{badge}
{description}
);
}
interface PricingCardProps {
plan: string;
price: string;
badge?: string;
features: string[];
buttonText: string;
variant?: 'dark' | 'light';
isPopular?: boolean;
className?: string;
}
export function PricingCard({
plan,
price,
badge,
features,
buttonText,
variant = 'dark',
isPopular = false,
className = ''
}: PricingCardProps) {
const bgColor = variant === 'dark' ? 'from-[#2c2c2c] to-[#2c2c2c]' : 'from-[#edc29c] to-[#edc29c]';
const textColor = variant === 'dark' ? 'text-[#faf1e9]' : 'text-[#2c2c2c]';
const borderColor = isPopular ? 'border border-white' : '';
return (
{isPopular && (
Popular
)}
{badge && (
{badge}
)}
{plan}
{price}
{features.map((feature, index) => (
))}
);
}